perm filename PLOT.SAI[AL,HE] blob
sn#533185 filedate 1980-08-28 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN
C00006 ENDMK
C⊗;
BEGIN
REQUIRE "DDHDR.SAI[GRA,HPM]" SOURCE_FILE;
DEFINE CRLF="('15&'12)",
CR ="'15",
! = "COMMENT ";
define ttyset = "'047000400121";
STRING filspec,filnam,ext,prj,prg;
INTEGER i;
EXTERNAL INTEGER _SKIP_;
SCREEN(-512,-480,512,480); ! Set up screen dimensions for graphics routines;
LITEN;
I←CALL(0,"DSKPPN");
PRJ←CVXSTR(I)[1 TO 3];
PRG←CVXSTR(I)[4 TO 6];
WHILE TRUE DO
BEGIN
DDINIT;
PRINT("Plot file name: ");
FILSPEC←INCHWL;
IF FILSPEC = NULL ∨ _SKIP_ = '175 THEN
BEGIN
PRINT(" aborted"&crlf);
CONTINUE;
END;
IF EQU(FILSPEC,"DONE") ∨ EQU(FILSPEC,"EXIT") ∨ EQU(FILSPEC,"QUIT")
∨ EQU(FILSPEC,"done") ∨ EQU(FILSPEC,"exit") ∨ EQU(FILSPEC,"quit") THEN DONE;
FILNAM ← EXT ← "";
WHILE FILSPEC≠NULL ∧ FILSPEC≠"." ∧ FILSPEC≠"[" DO FILNAM←FILNAM & LOP(FILSPEC);
IF FILSPEC="." THEN
BEGIN
i ← LOP(FILSPEC);
WHILE FILSPEC≠NULL ∧ FILSPEC≠"[" DO EXT ← EXT & LOP(FILSPEC);
END
ELSE EXT ← "PLT";
IF FILSPEC="[" THEN
BEGIN
PRJ ← PRG ← "";
i ← LOP(FILSPEC);
WHILE FILSPEC≠NULL ∧ FILSPEC≠"," DO PRJ ← PRJ & LOP(FILSPEC);
i ← LOP(FILSPEC);
WHILE FILSPEC≠NULL ∧ FILSPEC≠"]" DO PRG ← PRG & LOP(FILSPEC);
END;
IF ¬GETDDF(FILNAM &"."& EXT &"["& PRJ &","& PRG &"]" ) THEN ! Load plot file;
BEGIN
PRINT("Couldn't read ", FILNAM, ".",ext,"[",prj,",",prg,"]",crlf);
CONTINUE;
END;
PPPOS(-365,-480);
DPYUP(-1); ! Show it;
PRINT("Plot it? ");
quick_code
hrroi 1,['004000000120]; comment [004000,,"P"];
ttyset 1, ; ! this last stuff does an esc-P;
end;
IF (i←INCHRW) = cr ∨ (i LOR '40) = "y" ∨ (i LOR '40) = "s"
∨ ("1" ≤ i ≤ "5") THEN
BEGIN
IF (IF "1" ≤ i ≤ "5" THEN XGPQUE( i - "0" ) ELSE
IF (i LOR '40) = "s" THEN XGPQUE(1) ELSE XGPQUE(5))
THEN PRINT(" Plot queued for XGP"&crlf)
ELSE PRINT(" Couldn't queue plot!"&crlf);
END;
IF i = cr THEN INCHRS ELSE PRINT(crlf);
END;
PRINT(crlf & "BYE" & crlf);
quick_code
hrroi 1,['004000000516]; comment [004000,,'400+"N"];
ttyset 1, ; ! this last stuff does a brk-N;
end;
CALL(0,"EXIT");
END;